using System;
using System.Collections.Generic;
using Volo.Abp.Application.Dtos;
using System.ComponentModel.DataAnnotations;

namespace Business.WarehouseLocationManagement.Dto
{
    public class LocationDto : EntityDto<Guid?>
    {
        
        /// <summary>
        /// 父级（库区ID）
        /// </summary>
        public string PCode { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        public string WarehouseId { get; set; }


        /// <summary>
        /// 区域ID
        /// </summary>
        public string AreaId { get; set; }

        /// <summary>
        /// 库区名称
        /// </summary>
        public string WarehouseAreaName { get; set; }


        /// <summary>
        /// 库位编码
        /// </summary>
        [Required]
        public string Code { get; set; }

        /// <summary>
        /// 库位类型
        /// </summary>
        public string LocationType { get; set; }

        /// <summary>
        /// 使用方式
        /// </summary>
        public string UsePattern { get; set; }

        /// <summary>
        /// 库位长
        /// </summary>
        [Required]
        public double LocationLength { get; set; }

        /// <summary>
        /// 库位宽
        /// </summary>
        [Required]
        public double LocationWidth { get; set; }

        /// <summary>
        /// 库位高
        /// </summary>
        [Required]
        public double LocationHeight { get; set; }

        /// <summary>
        /// 库位容积
        /// </summary>
        [Required]
        public double LocationVolume { get; set; }

        /// <summary>
        /// 库位承重
        /// </summary>
        [Required]
        public double LoadBearing { get; set; }

        /// <summary>
        /// 锁定优先级
        /// </summary>
        [Required]
        public string LockPriority { get; set; }

        /// <summary>
        /// 优先商品
        /// </summary>
        public string PriorityGoods { get; set; }




        /// <summary>
        /// 已用容积
        /// </summary>
        public double UsedVolume { get; set; }

        /// <summary>
        /// 已用承重
        /// </summary>
        public double UsedLoadBearing { get; set; }


        /// <summary>
        /// 是否混放
        /// </summary>
        public string IsMixing { get; set; }

        /// <summary>
        /// 路径优先级
        /// </summary>
        public string PathPriority { get; set; }

        /// <summary>
        /// 排除指导历史
        /// </summary>
        public string ExclusionHistory { get; set; }

        /// <summary>
        /// 货架号
        /// </summary>
        public string GoodsShelf { get; set; }

        /// <summary>
        /// 层号
        /// </summary>
        public string Layer { get; set; }

        /// <summary>
        /// 巷号
        /// </summary>
        public string Laneway { get; set; }

        /// <summary>
        /// 排除指导余量
        /// </summary>
        public string ExclusionMargin { get; set; }

        /// <summary>
        /// 位号
        /// </summary>
        public string Place { get; set; }

        /// <summary>
        /// 库位异常
        /// </summary>
        public string LocationException { get; set; }

        /// <summary>
        /// 库位标签
        /// </summary>
        public string LocationLabel { get; set; }


    }
}